/*
展开字符串
输入样例：
2
1(1a2b1(ab)1c)
3(ab2(4ab))
输出样例：
abbabc
abaaaabaaaababaaaabaaaababaaaabaaaab
*/

#include<iostream>
#include<string>
using namespace std;
int i=0;

// 递归算法
string unfold(string s)
{
    // 存储展开的字符串
    string ans="";
    int n = 0;
    
    // 遍历字符串
    for(; s[i]; i++)
    {
        // 遇到数字 
        if(isdigit(s[i]))
            n = n*10 + s[i] - '0';
            
        // 遇到字母
        else if(isalpha(s[i]))
        {
            // 展开s[k]字符n次
            if(n>0)
            {
                while(n--)
                    ans+=s[i];
            }
            
            // 展开s[k]字符1次
            else ans += s[i];
            n=0;
        }
        
        // 遇到'('
        else if(s[i]=='(')
        {
            i++;
            string tmp=unfold(s);
            if(n>0)
            { 
                while(n--)
                    ans+=tmp;
            }
            else ans+=tmp;
            n=0;
        }
        
        // 遇到')'
        else
            return ans; // 结束并返回ans
    }
    return ans; // s处理完毕返回ans 
}


int main()
{
    // 输入样例个数
    int t;
    cin >> t;
    
    while(t--)
    {
        // 输入字符串
        string s;
        cin >> s;
        i=0;
        // 展开字符串
        cout << unfold(s) << endl;
    }
    return 0;
}

